\documentclass[a4paper,12pt]{report}
\usepackage[T1]{fontenc}				% codifica dei font
\usepackage[utf8]{inputenc}			% codifica di input
\usepackage[italian]{babel}			% trattare le lingue
\usepackage{indentfirst}				% indentazione della prima riga del paragrafo
\usepackage{enumitem}						% personalizzazione degli elenchi
\usepackage{microtype}					% migliora il riempimento delle righe
\usepackage[colorlinks]{hyperref}	% colora i link
\usepackage{booktabs}
\usepackage{hyperref}
\usepackage{tabularx}
%\usepackage{comment}
\usepackage{graphicx}
%\usepackage{caption}
%\usepackage{frontespizio}

\author{Simone Cainero}
\title{Testing}

% definisco l'ambiente "tabella"
\newenvironment{tabellaX}[2]%
	{\begin{table}{#1}\footnotesize%
		\begin{center}%
			\begin{tabularx}{\textwidth}{#2}}%
			{\end{tabularx}%
		\end{center}%
	\end{table}}

\newenvironment{tabella}[1]%
	{\begin{table}{b}\footnotesize%
		\begin{center}%
			\begin{tabularx}{\textwidth}{#1}}%
			{\end{tabularx}%
		\end{center}%
	\end{table}}


\begin{document}
	\begin{titlepage}
		%\begin{figure}%[htbp]
		%	\centering
		%	\includegraphics[width=0.5\textwidth]{crystal.jpg}
		%\end{figure}

		\begin{center}
			\vspace{1cm}
			\Huge{Crystal Software}
			\vspace{2cm}

			{\fontsize{40}{50}\selectfont Testing}
		\end{center}

		\begin{table}[b]\begin{center}\begin{tabularx}{\textwidth}{rlXl}
			\toprule
			\textbf{Rev.}	& \textbf{Data}	& \textbf{Descrizione}		& \textbf{Autore} \\
			\midrule
			1.0				& 22/04/2013		& Creazione del documento	& Simone Cainero \\
			\bottomrule
		\end{tabularx}\end{center}\end{table}
	\end{titlepage}

	\tableofcontents

	\chapter{Scopo e audience}
	Lo scopo di questo è di definire le modalità di test da eseguire sul sistema, al fine di verificare e validare il sistema stesso.

	\chapter{Glossario}
	Di seguito alcuni termini utilizzati nel documento.
	\begin{itemize}
		\item \emph{Termine}: descrizione.
	\end{itemize}

	\chapter{Metodo di test}
	\label{metodo}
	È stato scelto di effettuare un test dinamico in modalità black box. Questo metodo si propone di verificare se, fornendo al sistema determinati input, questo restituisce l'output corretto. Potranno essere effettuati test funzionali e non funzionali. Ad ogni funzionalità implementata corrisponde una catena di test, che prevede a sua volta una serie di test.

	Ogni catena di test è caratterizzata da:
	\begin{itemize}
		\item \emph{numero catena}: numero identificativo della catena di test;
		\item \emph{nome catena}: nome identificavo della catena di test;
		\item \emph{requisiti testati}: requisiti che vengono testati dalla catena di test;
		\item \emph{condizione iniziale}: situazione del sistema prima dell’inizio della catena di test;
		\item \emph{obiettivi}: obiettivi della catena di test.\newline
	\end{itemize}

	I singoli test di ciascuna catena sono caratterizzati da:
	\begin{itemize}
		\item \emph{nome test}: nome identificativo del test;
		\item \emph{condizione iniziale}: situazione del sistema prima dell'inizio del test;
		\item \emph{input}: input forniti al sistema;
		\item \emph{output atteso}: comportamento atteso dal sistema dopo l'esecuzione del test;
		\item \emph{descrizione test}: descrizione del test (in formato tabellare).
	\end{itemize}

	\chapter{Catene di test}
		\begin{par}In questo capitolo sono descritte le catene di test e i singoli test che le compongono.\end{par}

		\section{Apertura e chiusura dell'applicazione}

			\paragraph{Numero catena} 1.
			\paragraph{Nome catena} Apertura e chiusura dell'applicazione.
			\paragraph{Requisiti testati} L'applicazione si connette al database e visualizza la schermata iniziale con l'elenco delle anagrafiche.
			\paragraph{Condizione iniziale} L'applicazione è installata sulla postazione.
			\paragraph{Obiettivi} Verificare che non ci siano problemi di connessione al database nè all'apertura nè alla chiusura dell'applicazione, e che la schermata iniziale visualizzi l'elenco delle anagrafiche.

			\subsection{Test 1.1}
				\paragraph{Nome test} Apertura dell'applicazione.
				\paragraph{Condizione iniziale} L'applicazione è installata sulla postazione.
				\paragraph{Input} Richiesta di accesso al database da parte dell'applicazione.
				\paragraph{Output atteso} L'applicazione si apre e mostra l'elenco delle anagrafiche.
				\paragraph{Descrizione test} Fare doppio-click sull'icona dell'applicazione.
		
		\section{Inserimento di una nuova anagrafica}
			\paragraph{Numero catena} 2.
			\paragraph{Nome catena} Inserimento di una nuova anagrafica.
			\paragraph{Requisiti testati} L'applicazione permette di inserire nel sistema i dati di una nuova anagrafica.
			\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata principale.
			\paragraph{Obiettivi} Verificare che l'utente riesca ad inserire i dati di una nuova anagrafica nel sistema e che questi siano fruibili a partire dal momento dell'inserimento.

			\subsection{Test 2.1}
				\paragraph{Nome test} Inserimento nuova anagrafica.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata principale.
				\paragraph{Input} Click sul pulsante ‘‘Nuova’’.
				\paragraph{Output atteso} Si apre la maschera di inserimento di una nuova anagrafica.
				\paragraph{Descrizione test} Fare click sul pulsante ‘‘Nuova’’.

			\subsection{Test 2.2}
				\paragraph{Nome test} Inserimento dati di una nuova anagrafica.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di inserimento di una nuova anagrafica.
				\paragraph{Input} Richiesta di salvataggio dei dati della nuova anagrafica.
				\paragraph{Output atteso} I campi si bloccano, il tasto "Salva" diventa ‘‘Modifica’’.
				\paragraph{Descrizione test} Inserire i dati dell'anagrafica nei vari campi e fare click sul pulsante ‘‘Salva’’.

			\subsection{Test 2.3}
				\paragraph{Nome test} Aggiornamento elenco anagrafiche.
				\paragraph{Condizione iniziale} È appena stato eseguito il test 2.2.
				\paragraph{Input} Richiesta di uscita dalla maschera di inserimento di una nuova anagrafica.
				\paragraph{Output atteso} La maschera si chiude, viene aperta la maschera principale e l'elenco delle anagrafiche comprende anche quella appena aggiunta.
				\paragraph{Descrizione test} Premere il tasto ‘‘Esci’’.

		\section{Visualizzazione di un'anagrafica}
			\paragraph{Numero catena} 3.
			\paragraph{Nome catena} Visualizzazione di un'anagrafica.
			\paragraph{Requisiti testati} L'applicazione permette di visualizzare i dati di un'anagrafica.
			\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata principale.
			\paragraph{Obiettivi} Verificare che l'utente possa visualizzare i dati di un'anagrafica.

			\subsection{Test 3.1}
				\paragraph{Nome test} Visualizzazione anagrafica.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata principale.
				\paragraph{Input} Richiesta di visualizzazione di una precisa anagrafica.
				\paragraph{Output atteso} La maschera si chiude, viene aperta la maschera di visualizzazione di un'anagrafica e vengono visualizzati i relativi dati.
				\paragraph{Descrizione test} Fare doppio-click su una delle anagrafiche visualizzate.

		\section{Esportazione di un'anagrafica}
			\paragraph{Numero catena} 4.
			\paragraph{Nome catena} Esportazione di un'anagrafica.
			\paragraph{Requisiti testati} L'applicazione permette di esportare su file i dati di un'anagrafica.
			\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione di un'anagrafica.
			\paragraph{Obiettivi} Verificare che l'utente possa esportare su file i dati di un'anagrafica.

			\subsection{Test 4.1}
				\paragraph{Nome test} Esportazione anagrafica.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione di un'anagrafica.
				\paragraph{Input} Richiesta di esportazione dell'anagrafica.
				\paragraph{Output atteso} La maschera mostra una finestra di dialogo che permette di inserire il nome del file e sceglierne la locazione di salvataggio; dopo tali scelte, viene visualizzato il pdf con il riepilogo dei dati dell'anagrafica.
				\paragraph{Descrizione test} Fare click sul pulsante ‘‘Stampa’’, scegliere un nome al file e una locazione di salvataggio.

		\section{Modifica di un'anagrafica}
			\paragraph{Numero catena} 5.
			\paragraph{Nome catena} Modifica di un'anagrafica.
			\paragraph{Requisiti testati} L'applicazione permette di modificare i dati di un'anagrafica.
			\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione di un'anagrafica.
			\paragraph{Obiettivi} Verificare che l'utente possa modificare i dati di un'anagrafica.

			\subsection{Test 5.1}
				\paragraph{Nome test} Richiesta di modifica anagrafica.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione di un'anagrafica.
				\paragraph{Input} Richiesta di modifica dell'anagrafica.
				\paragraph{Output atteso} I campi della maschera diventano modificabili, il tasto ‘‘Modifica’’ diventa ‘‘Salva’’.
				\paragraph{Descrizione test} Fare click sul pulsante ‘‘Modifica’’.

			\subsection{Test 5.2}
				\paragraph{Nome test} Modifica dati anagrafica e salvataggio.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione di un'anagrafica in modalità modifica.
				\paragraph{Input} Modifica dei campi dell'anagrafica.
				\paragraph{Output atteso} Le modifiche ai campi vengono salvate.
				\paragraph{Descrizione test} Modificare i campi della maschera; premere ‘‘Salva’’ e uscire dalla maschera; rientrare nella stessa anagrafica e verificare che le modifiche siano state salvate. 

		\section{Cambiamento dello stato di un certificato}
			\paragraph{Numero catena} 6.
			\paragraph{Nome catena} Cambiamento stato certificato.
			\paragraph{Requisiti testati} L'applicazione permette di modificare lo stato di un certificato.
			\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione di un'anagrafica.
			\paragraph{Obiettivi} Verificare che l'utente possa accedere all'elenco dei certificati di un'anagrafica e modificare lo stato di un certificato.

			\subsection{Test 6.1}
				\paragraph{Nome test} Accesso elenco certificati.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione di un'anagrafica.
				\paragraph{Input} Richiesta di visualizzazione dei certificati dell'anagrafica.
				\paragraph{Output atteso} L'elenco dei certificati viene visualizzato.
				\paragraph{Descrizione test} Premere ‘‘Certificati’’. 

			\subsection{Test 6.2}
				\paragraph{Nome test} Modifica stato elenco certificati.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione dei certificati di un'anagrafica.
				\paragraph{Input} Richiesta di modifica dello stato di un certificato.
				\paragraph{Output atteso} Lo stato del certificato viene modificato come richiesto e l'elenco certificati viene aggiornato.
				\paragraph{Descrizione test} Selezionare un certificato e premere ‘‘Modifica Stato’’.

		\section{Ricerca di un'anagrafica}
			\paragraph{Numero catena} 7.
			\paragraph{Nome catena} Ricerca di un'anagrafica.
			\paragraph{Requisiti testati} L'applicazione permette di cercare un'anagrafica applicando un filtro ai dati.
			\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata principale.
			\paragraph{Obiettivi} Verificare che l'utente possa effettuare la ricerca di un'anagrafica.

			\subsection{Test 7.1}
				\paragraph{Nome test} Accesso a schermata ricerca.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione delle anagrafiche.
				\paragraph{Input} Richiesta di ricerca di un'anagrafica.
				\paragraph{Output atteso} Viene aperta la schermata di ricerca di un'anagrafica.
				\paragraph{Descrizione test} Premere il tasto ‘‘Filtra’’.

			\subsection{Test 7.2}
				\paragraph{Nome test} Ricerca anagrafica.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di ricerca delle anagrafiche.
				\paragraph{Input} Scelta dei criteri di ricerca.
				\paragraph{Output atteso} La maschera di ricerca si chiude e viene aperta quella principale in cui sono visualizzate solo le anagrafiche che corrispondono al filtro scelto.
				\paragraph{Descrizione test} Compilare uno o più campi; premere il tasto ‘‘Filtra’’.


		\section{Emissione di un certificato}

			\paragraph{Numero catena} 8.
			\paragraph{Nome catena} Emissione di un certificato.
			\paragraph{Requisiti testati} L'applicazione permette di emettere certificati di nascita, residenza e domicilio per le anagrafiche.
			\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione dei certificati di un'anagrafica.
			\paragraph{Obiettivi} Verificare che l'utente possa emettere i certificati.

			\subsection{Test 8.1}
				\paragraph{Nome test} Emissione certificato nascita.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione dei certificati di un'anagrafica.
				\paragraph{Input} Richiesta di emissione di un certificato di nascita.
				\paragraph{Output atteso} Viene creato e visualizzato un nuovo certificato di nascita; l'elenco dei certificati viene aggiornato.
				\paragraph{Descrizione test} Impostare a ‘‘nascita’’ il controllo a scelta multipla; premere ‘‘Nuovo’’.

			\subsection{Test 8.2}
				\paragraph{Nome test} Emissione certificato residenza.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione dei certificati di un'anagrafica.
				\paragraph{Input} Richiesta di emissione di un certificato di residenza.
				\paragraph{Output atteso} Viene creato e visualizzato un nuovo certificato di residenza; l'elenco dei certificati viene aggiornato.
				\paragraph{Descrizione test} Impostare a ‘‘residenza’’ il controllo a scelta multipla; premere ‘‘Nuovo’’.

			\subsection{Test 8.3}
				\paragraph{Nome test} Emissione certificato domicilio.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione dei certificati di un'anagrafica.
				\paragraph{Input} Richiesta di emissione di un certificato di domicilio.
				\paragraph{Output atteso} Viene creato e visualizzato un nuovo certificato di domicilio; l'elenco dei certificati viene aggiornato.
				\paragraph{Descrizione test} Impostare a ‘‘domicilio’’ il controllo a scelta multipla; premere ‘‘Nuovo’’.

		\section{Visualizzazione di un certificato}

			\paragraph{Numero catena} 9.
			\paragraph{Nome catena} Visualizzazione di un certificato.
			\paragraph{Requisiti testati} L'applicazione permette di visualizzare i certificati di un'anagrafica.
			\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione dei certificati di un'anagrafica.
			\paragraph{Obiettivi} Verificare che l'utente possa visualizzare i certificati.

			\subsection{Test 9.1}
				\paragraph{Nome test} Visualizzazione certificato.
				\paragraph{Condizione iniziale} L'applicazione è attiva nella schermata di visualizzazione dei certificati di un'anagrafica.
				\paragraph{Input} Richiesta di visualizzazione di un certificato.
				\paragraph{Output atteso} Viene visualizzato il pdf del certificato scelto.
				\paragraph{Descrizione test} Fare doppio-click su un certificato.

\end{document}
